package com.slz3.business.module.goodsManagement.gooBaseGoodsSpecification.service;

import com.slz3.business.module.goodsManagement.gooBaseGoodsSpecification.domain.GooBaseGoodsSpecification;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.util.MultiValueMap;

import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Stream;

/**
 * 非事务型 service
 */
public interface GooBaseGoodsSpecificationService {

    GooBaseGoodsSpecification save(GooBaseGoodsSpecification gooBaseGoodsSpecification);

    Page<GooBaseGoodsSpecification> page(MultiValueMap<String,String> queryParams);

    GooBaseGoodsSpecification modify(GooBaseGoodsSpecification gooBaseGoodsSpecification);

    Optional<GooBaseGoodsSpecification> single(UUID uuid);

    List<GooBaseGoodsSpecification> findAllByUuids(Iterable<UUID> uuids);

    List<GooBaseGoodsSpecification> findByFkGooBaseGoodsUuid(UUID fkGooBaseGoodsUuid);

    List<GooBaseGoodsSpecification> delete(List<GooBaseGoodsSpecification> gooBaseGoodsSpecificationList);

}
